package com.greenold.residing.service;

import java.util.List;

import com.greenold.approvalRecord.domain.ApprovalRecord;
import com.greenold.commen.domain.Elder;
import com.greenold.residing.domain.ApprovalRecordDTO;
import com.greenold.residing.domain.LeaveRequest;
import com.greenold.residing.domain.LeaveRequestDTO;
import com.greenold.residing.domain.OrderMessageDTO;

/**
 * 请假管理Service接口
 * 
 * @author ruoyi
 * @date 2025-10-13
 */
public interface ILeaveRequestService 
{
    /**
     * 查询请假管理
     * 
     * @param id 请假管理主键
     * @return 请假管理
     */
    public LeaveRequest selectLeaveRequestById(String id);

    /**
     * 查询请假管理列表
     * 
     * @param leaveRequest 请假管理
     * @return 请假管理集合
     */
    public List<LeaveRequestDTO> selectLeaveRequestList(LeaveRequest leaveRequest);

    /**
     * 新增请假管理
     * 
     * @param leaveRequest 请假管理
     * @return 结果
     */
    public int insertLeaveRequest(LeaveRequest leaveRequest);

    /**
     * 修改请假管理
     * 
     * @param leaveRequest 请假管理
     * @return 结果
     */
    public int updateLeaveRequest(LeaveRequest leaveRequest);

    /**
     * 批量删除请假管理
     * 
     * @param ids 需要删除的请假管理主键集合
     * @return 结果
     */
    public int deleteLeaveRequestByIds(String[] ids);

    /**
     * 删除请假管理信息
     * 
     * @param id 请假管理主键
     * @return 结果
     */
    public int deleteLeaveRequestById(String id);

     /**
     * 请假审批
     * @param approvalRecord 审批记录
     * @return 结果
     */
    public int approval(ApprovalRecordDTO approvalRecordDTO);

    /**
     * 根据老人id查看老人基本信息
     * @param id 老人id
     * @return 老人基本信息
     * */
    public OrderMessageDTO selectElderInfoById(Integer id);

     /**
     * 查询所有老人基本信息
     * @return 所有老人基本信息
     * */
    public List<Elder> getElderList();
}
